package com.geekhalo.admin.domain.menu.create;

import com.geekhalo.lego.core.command.CommandService;
import com.geekhalo.lego.core.command.CommandServiceDefinition;
import com.geekhalo.lego.core.command.CommandMethodDefinition;

import com.geekhalo.admin.domain.menu.Menu;
import com.geekhalo.admin.domain.menu.MenuCommandRepository;

import com.geekhalo.admin.domain.menu.create.CreateMenuCommand;
import com.geekhalo.admin.domain.menu.create.CreateMenuContext;
import com.geekhalo.admin.domain.menu.Menu;


@CommandServiceDefinition(domainClass = Menu.class, repositoryClass = MenuCommandRepository.class)
public interface CreateMenuService
    extends CommandService<CreateMenuCommand, Menu> {

    @Override
    @CommandMethodDefinition(contextClass = CreateMenuContext.class)
    Menu execute(CreateMenuCommand command);
}
